// ******************************************************************************
// Copyright     :  Copyright (C) 2016, Hisilicon Technologies Co. Ltd.
// File name     :  c_union_define_APB2FF.h
// Project line  :  IT产品线
// Department    :  图灵ICT处理器开发部
// Version       :  V100
// Date          :  2014/5/8
// Description   :  Hi 1822 is a throughput of 100Gbps CNA chip. It provide large bandwith, low latency, scalability
// converged network solution, support network convergency, virtualization, protocol offload, and serves IT product and
// CT product. Others        :  Generated automatically by nManager V4.0.2.5 History       :  姚晋鹏 2016/04/12 15:12:21
// Create file
// ******************************************************************************

#ifndef C_UNION_DEFINE_APB2FF_H
#define C_UNION_DEFINE_APB2FF_H

/* Define the union u_apb2ff_fic_indir_ctrl */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int fic_indir_addr : 22;   /* [21..0]  */
        unsigned int fic_indir_len : 5;     /* [26..22]  */
        unsigned int fic_indir_cnt_car : 1; /* [27]  */
        unsigned int fic_indir_stat : 2;    /* [29..28]  */
        unsigned int fic_indir_mode : 1;    /* [30]  */
        unsigned int fic_indir_vld : 1;     /* [31]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_apb2ff_fic_indir_ctrl;

/* Define the union u_apb2ff_mag_indir_ctrl */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int mag_indir_addr : 22;   /* [21..0]  */
        unsigned int mag_indir_len : 5;     /* [26..22]  */
        unsigned int mag_indir_cnt_car : 1; /* [27]  */
        unsigned int mag_indir_stat : 2;    /* [29..28]  */
        unsigned int mag_indir_mode : 1;    /* [30]  */
        unsigned int mag_indir_vld : 1;     /* [31]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_apb2ff_mag_indir_ctrl;

/* Define the union u_apb2ff_ngpcs_indir_ctrl */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int ngpcs_indir_addr : 22;   /* [21..0]  */
        unsigned int ngpcs_indir_len : 5;     /* [26..22]  */
        unsigned int ngpcs_indir_cnt_car : 1; /* [27]  */
        unsigned int ngpcs_indir_stat : 2;    /* [29..28]  */
        unsigned int ngpcs_indir_mode : 1;    /* [30]  */
        unsigned int ngpcs_indir_vld : 1;     /* [31]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_apb2ff_ngpcs_indir_ctrl;

/* Define the union u_apb2ff_antring_indir_ctrl */
typedef union {
    /* Define the struct bits */
    struct {
        unsigned int antring_indir_addr : 22;   /* [21..0]  */
        unsigned int antring_indir_len : 5;     /* [26..22]  */
        unsigned int antring_indir_cnt_car : 1; /* [27]  */
        unsigned int antring_indir_stat : 2;    /* [29..28]  */
        unsigned int antring_indir_mode : 1;    /* [30]  */
        unsigned int antring_indir_vld : 1;     /* [31]  */
    } bits;

    /* Define an unsigned member */
    unsigned int val32;
} u_apb2ff_antring_indir_ctrl;


#endif /* C_UNION_DEFINE_APB2FF_H */
